(1) Field of The Invention
The present invention relates to a method as presented in the preamble of the appended claim 1 for detecting errors in video information. The present invention also relates to another method as presented for detecting errors in video information. The present invention also relates to a terminal device. The present invention also relates to another terminal device. The present invention further relates to a data transmission system. The present invention further relates to another data transmission system. Moreover, the present invention relates to a decoder. The present invention relates to another decoder. The present invention also relates to a storage means. The present invention further relates to another storage means.
(2) Description of Related Art Including Information Disclosed Under 37 CFR 1.97 and 1.98
One of the objectives of telecommunication is to provide systems in which good quality real-time data transmission is available by means of video, audio and data information. It is generally known that the amount of information required to transmit images is considerably larger than in many other types of data transmission, such as audio and text data transmission, and thus the transmission of video signals to low bit-rate terminals has so far not been practicable. However, the transmission of information in digital form has made it possible to improve the signal-to-noise ratio and the data transmission capacity in data transmission channels. Services having higher data transmission rates are currently under development for mobile terminals such as wireless telephones, wherein the transmission of video to such mobile terminals will also become viable.
To optimise the use of the data transmission channel, signals are generally compressed before transmission. This is especially important in the transmission of video information, in which the amount of information to be transmitted is large. On the other hand, however, a compressed video signal is easily affected by data transmission errors, for example because variable length codes are generally used to compress the video signal. Thus, if a bit error alters a code word to another code word of a different length, the decoder loses synchronization and may even decode subsequent error-free blocks erroneously until the next synchronization code is received correctly.
To reduce degradations in image quality caused by transmission errors, at the decoding stage it is possible lo employ error detection and/or correction, retransmission, and/or attempts can be made to conceal disturbances caused by the erroneous data received. Typically, retransmissions provide a reasonable way to protect the data transmission from errors, but if a low data transmission rate is used and the number of errors is relatively large, retransmission cannot be used in practice, especially in video applications. Error detection and correction methods typically require a large amount of additional information to be transmitted, because error detection and correction methods are based on redundancy. Thus, in low bit-rate applications, error concealment is an advantageous method for reducing the effect of transmission errors.
In order to conceal or reduce the effect of transmission errors, the errors have to be detected and located. The more it is possible to find out about the location of an error, the better the methods for concealing errors can operate, which means that it is also possible to attain a better image quality. It is particularly important that the error detection methods detect errors which can be easily discerned by the human eye.
It is possible to transmit a video signal via mobile communication networks, for example using a high speed circuit switched data (HSCSD) connection. Furthermore, third generation mobile communication systems are also designed to transmit multimedia information, in which case the information to be transmitted can also contain video signals. In such future mobile communication systems, the data transfer rates can be of the same order as in present-day landline communication systems (PSTN, Public Switched Telephone Network) or may even exceed them. However, in mobile communication systems, the data transmission channels are more susceptible to interference, and thus the number of transmission errors is larger than in landline communication networks. Furthermore, in mobile communication networks the round-trip delay is larger than in landline communication networks. The round-trip delay represents the time that elapses between the transmission of a retransmission request and the reception of a retransmitted frame. A retransmission request is transmitted by a terminal which receives an erroneous frame to the transmitting terminal, which retransmits the erroneously received frame. In practice, the larger round-trip delays and larger error probability mean that retransmission cannot be used in connection with the transmission of real-time video information, in mobile communication networks. Therefore, communication systems should be designed to tolerate errors.
The inter-coding of video signals is a very efficient compression method, because it can reduce the amount of information to be transmitted to as little as a hundredth part of the original uncompressed information. Inter-coding is based on motion compensation and prediction error coding. In existing video coding standards, images are typically processed in blocks of 8×8 pixels. Four luminance blocks (Y), a first chrominance block (U) and a second chrominance block (V) together form a macroblock. The luminance information effectively represents the grey tone information of the image. The chrominance components of the image indicate colour differences and when the chrominance components are combined with the luminance component, the video decoder produces a colour image.
Motion compensation is a method in which a video encoder detects image blocks in a current image which correspond either exactly or substantially with blocks that appear in a previously encoded and transmitted reference picture. If the encoder detects an image block which has a substantial correspondence with a block in the reference picture, the encoder produces a motion vector (MV). The motion vector is a direction vector which indicates the difference in location between the two corresponding blocks to the decoder in the receiver, i.e. it indicates the shift of the block in the horizontal and vertical direction with respect to the reference image. If the blocks do not completely correspond with each other, the encoder also produces a prediction error block, which comprises information representing the difference between the image block in the current picture and the corresponding block in the reference picture. In this way, the decoder is able to reconstruct a block corresponding substantially to the original block, at a location indicated by the motion vector, using the motion vector and the prediction error block. The prediction error block indicates the pixel-by-pixel difference between the actual pixel information contained in the block and the pixel information produced with the aid of the motion vector. In prior art video coding systems, the prediction error is compressed using a discrete cosine transform (DCT), quantisation and variable length codes (VLC).
A compressed video signal is susceptible to errors mainly for two reasons: i). video coding is based on predictive differential coding, and ii). the information symbols are coded primarily using variable length codes. The predictive nature of video compression causes errors to propagate in the image, both in time and from one area of an image to another. This means that when an error occurs in an image, its effect in the decoded image is visible for a relatively long time. Intra-coding prevents the propagation of errors because an intra picture is produced only on the basis of the information of the image to be coded. The level of compression achieved by an intra-coded picture is low, and thus the number of intra-coded pictures in a video signal should be kept as small as possible, especially in low bit-rate data transmission. Variable length codes are susceptible to errors, because bit errors can change one code word into another one, whose length is not necessarily the same as the length of the original code word. Thus, the decoder does not remain synchronized with the bit stream and may also wrongly decode error-free blocks.
In MPEG-4 compression, it is possible to use reversible variable length codes (RVLC) to code prediction error blocks. A reversible variable length code is a code word that can be decoded in either direction, as illustrated by arrows A1 and A2 in FIG. 1. To exploit this property, the video information is preferably divided into three different partitions, in such a way that one partition comprises the RVLC coded prediction error blocks. This partition is framed with synchronization bytes before transmission. Backward decoding can thus be used if an error or errors occur in the central portion of such a partition. In such a situation, the decoder can search for the next synchronization word to determine the end of the partition, and then decode the end of the erroneous partition. However, if the coding were conducted from the beginning to the end of the partition using standard (unidirectional) variable length codes, the portion of the partition after the location of the error would have to be rejected, even if it were error-free. The above-described situation is illustrated in the appended FIG. 1, where the reference numeral 2 indicates data transmission errors occurring in section 1. A problem in the use of reversible variable length coding is, for instance, that the errors should be located accurately so that backward decoding can be used effectively.
Methods, such as the identification of invalid code words have been developed for detecting transmission errors in data coded using variable length codes. However, the methods developed are not sufficiently reliable, since they do not detect all the errors. Furthermore, such methods usually detect the errors too late, in practice only after a few erroneously received blocks have already been decoded. It has been suggested that in such a situation the decoder should shift a few macroblocks backwards on detecting an error, under the assumption that the error has been detected too late. This arrangement, however, has the drawback that even blocks which have been received error-free may be rejected and, on the other hand, the decoder is not necessarily shifted sufficiently far backwards.